\newcommand{\lfpsimult}{\ensuremath{\text{LFP}^{\text{simult}}}}
\newcommand{\ifpsimult}{\ensuremath{\text{IFP}^{\text{simult}}}}
\newcommand{\pfpsimult}{\ensuremath{\text{PFP}^{\text{simult}}}}
\newcommand{\ptime}{\ensuremath{\textsc{PTime}}}
\newcommand{\pspace}{\ensuremath{\textsc{PSpace}}}

\newenvironment{myitemize}
{\begin{list}{$\bullet$}{%
\setlength{\topsep}{2pt} %0pt
\setlength{\leftmargin}{0pt} %5pt or variant2: %0pt or v3:10
\setlength{\itemindent}{10pt}}} %7pt or variant2: %10pt or v3:00
{\end{list}}

\newcounter{myenumctr}
\newenvironment{myenumerate}{\begin{list}{(\arabic{myenumctr})}{\usecounter{myenumctr}
\topsep=0pt
\setlength{\leftmargin}{0pt}
\setlength{\itemindent}{\labelwidth}
\setlength{\itemsep}{0cm}}}
{\end{list}}


\newcounter{myoenumctr}
\newenvironment{myoenumerate}{\begin{list}{~~~~(O\arabic{myenumctr})}{\usecounter{myenumctr}
\topsep=0pt
\setlength{\leftmargin}{0pt}%{0.5\labelwidth}
\setlength{\itemindent}{10pt}%{0.75\labelwidth}
\setlength{\itemsep}{1pt}}}
{\end{list}}

% meta
\newcommand{\nop}[1]{}
\newcommand{\todo}[1]{{\color{blue}#1}}
\newcommand{\defn}[1]{{\color{blue}#1}}

%
\newcommand{\LFP}{\textsf{LFP}}
\newcommand{\IFP}{\textsf{IFP}}
\newcommand{\PFP}{\textsf{PFP}}
\newcommand{\LFPsim}{\textsf{LFP}$^{\textsf{sim}}$}
\newcommand{\lfp}{\ensuremath{\mathbf{lfp}}}

% datalog
\mathchardef\minus="2D
\newcommand{\ruleif}{\ensuremath{:\!\minus~}}

\newcommand{\Datalog}{\textsc{Datalog}}
\newcommand{\DatalogMin}{\textsc{Datalog}$_\neg$}
\newcommand{\DatalogOptMin}{\textsc{Datalog}$_{(\neg)}$}

% abbreviations
  
\newcommand{\veca}{\ensuremath{\vec{a}}}
\newcommand{\vecx}{\ensuremath{\vec{x}}}
\newcommand{\vecy}{\ensuremath{\vec{y}}}
\newcommand{\vecz}{\ensuremath{\vec{z}}}
\newcommand{\vecxy}{\ensuremath{\vec{x},\vec{y}}}

\newcommand{\mi}[1]{\ensuremath{\mathit{#1}}}
\newcommand{\mb}[1]{\ensuremath{\mathbf{#1}}}

% math font
\newcommand{\fA}{\ensuremath{\mathfrak{A}}}
  
\newcommand{\cA}{\ensuremath{\mathcal{A}}}
\newcommand{\cB}{\ensuremath{\mathcal{B}}}
\newcommand{\cC}{\ensuremath{\mathcal{C}}}
\newcommand{\cD}{\ensuremath{\mathcal{D}}}
\newcommand{\cE}{\ensuremath{\mathcal{E}}}
\newcommand{\cF}{\ensuremath{\mathcal{F}}}
\newcommand{\cG}{\ensuremath{\mathcal{G}}}
\newcommand{\cH}{\ensuremath{\mathcal{H}}}
\newcommand{\cI}{\ensuremath{\mathcal{I}}}
\newcommand{\cJ}{\ensuremath{\mathcal{J}}}
\newcommand{\cK}{\ensuremath{\mathcal{K}}}
\newcommand{\cL}{\ensuremath{\mathcal{L}}}
\newcommand{\cM}{\ensuremath{\mathcal{M}}}
\newcommand{\cN}{\ensuremath{\mathcal{N}}}
\newcommand{\cO}{\ensuremath{\mathcal{O}}}
\newcommand{\cP}{\ensuremath{\mathcal{P}}}
\newcommand{\cQ}{\ensuremath{\mathcal{Q}}}
\newcommand{\cR}{\ensuremath{\mathcal{R}}}
\newcommand{\cS}{\ensuremath{\mathcal{S}}}
\newcommand{\cT}{\ensuremath{\mathcal{T}}}
\newcommand{\cU}{\ensuremath{\mathcal{U}}}
\newcommand{\cV}{\ensuremath{\mathcal{V}}}
\newcommand{\cW}{\ensuremath{\mathcal{W}}}
\newcommand{\cX}{\ensuremath{\mathcal{X}}}
\newcommand{\cY}{\ensuremath{\mathcal{Y}}}
\newcommand{\cZ}{\ensuremath{\mathcal{Z}}}

\newcommand{\sfA}{\ensuremath{\mathsf{A}}}
\newcommand{\sfB}{\ensuremath{\mathsf{B}}}
\newcommand{\sfC}{\ensuremath{\mathsf{C}}}
\newcommand{\sfD}{\ensuremath{\mathsf{D}}}
\newcommand{\sfE}{\ensuremath{\mathsf{E}}}
\newcommand{\sfF}{\ensuremath{\mathsf{F}}}
\newcommand{\sfG}{\ensuremath{\mathsf{G}}}
\newcommand{\sfH}{\ensuremath{\mathsf{H}}}
\newcommand{\sfI}{\ensuremath{\mathsf{I}}}
\newcommand{\sfJ}{\ensuremath{\mathsf{J}}}
\newcommand{\sfK}{\ensuremath{\mathsf{K}}}
\newcommand{\sfL}{\ensuremath{\mathsf{L}}}
\newcommand{\sfM}{\ensuremath{\mathsf{M}}}
\newcommand{\sfN}{\ensuremath{\mathsf{N}}}
\newcommand{\sfO}{\ensuremath{\mathsf{O}}}
\newcommand{\sfP}{\ensuremath{\mathsf{P}}}
\newcommand{\sfQ}{\ensuremath{\mathsf{Q}}}
\newcommand{\sfR}{\ensuremath{\mathsf{R}}}
\newcommand{\sfS}{\ensuremath{\mathsf{S}}}
\newcommand{\sfT}{\ensuremath{\mathsf{T}}}
\newcommand{\sfU}{\ensuremath{\mathsf{U}}}
\newcommand{\sfV}{\ensuremath{\mathsf{V}}}
\newcommand{\sfW}{\ensuremath{\mathsf{W}}}
\newcommand{\sfX}{\ensuremath{\mathsf{X}}}
\newcommand{\sfY}{\ensuremath{\mathsf{Y}}}
\newcommand{\sfZ}{\ensuremath{\mathsf{Z}}}

\newcommand{\bbA}{\ensuremath{\mathbb{A}}}
\newcommand{\bbB}{\ensuremath{\mathbb{B}}}
\newcommand{\bbC}{\ensuremath{\mathbb{C}}}
\newcommand{\bbD}{\ensuremath{\mathbb{D}}}
\newcommand{\bbE}{\ensuremath{\mathbb{E}}}
\newcommand{\bbF}{\ensuremath{\mathbb{F}}}
\newcommand{\bbG}{\ensuremath{\mathbb{G}}}
\newcommand{\bbH}{\ensuremath{\mathbb{H}}}
\newcommand{\bbI}{\ensuremath{\mathbb{I}}}
\newcommand{\bbJ}{\ensuremath{\mathbb{J}}}
\newcommand{\bbK}{\ensuremath{\mathbb{K}}}
\newcommand{\bbL}{\ensuremath{\mathbb{L}}}
\newcommand{\bbM}{\ensuremath{\mathbb{M}}}
\newcommand{\bbN}{\ensuremath{\mathbb{N}}}
\newcommand{\bbO}{\ensuremath{\mathbb{O}}}
\newcommand{\bbP}{\ensuremath{\mathbb{P}}}
\newcommand{\bbQ}{\ensuremath{\mathbb{Q}}}
\newcommand{\bbR}{\ensuremath{\mathbb{R}}}
\newcommand{\bbS}{\ensuremath{\mathbb{S}}}
\newcommand{\bbT}{\ensuremath{\mathbb{T}}}
\newcommand{\bbU}{\ensuremath{\mathbb{U}}}
\newcommand{\bbV}{\ensuremath{\mathbb{V}}}
\newcommand{\bbW}{\ensuremath{\mathbb{W}}}
\newcommand{\bbX}{\ensuremath{\mathbb{X}}}
\newcommand{\bbY}{\ensuremath{\mathbb{Y}}}
\newcommand{\bbZ}{\ensuremath{\mathbb{Z}}}

\newcommand{\ssA}{\ensuremath{{\scriptscriptstyle A}}}
\newcommand{\ssB}{\ensuremath{{\scriptscriptstyle B}}}
\newcommand{\ssC}{\ensuremath{{\scriptscriptstyle C}}}
\newcommand{\ssD}{\ensuremath{{\scriptscriptstyle D}}}
\newcommand{\ssE}{\ensuremath{{\scriptscriptstyle E}}}
\newcommand{\ssF}{\ensuremath{{\scriptscriptstyle F}}}
\newcommand{\ssG}{\ensuremath{{\scriptscriptstyle G}}}
\newcommand{\ssH}{\ensuremath{{\scriptscriptstyle H}}}
\newcommand{\ssI}{\ensuremath{{\scriptscriptstyle I}}}
\newcommand{\ssJ}{\ensuremath{{\scriptscriptstyle J}}}
\newcommand{\ssK}{\ensuremath{{\scriptscriptstyle K}}}
\newcommand{\ssL}{\ensuremath{{\scriptscriptstyle L}}}
\newcommand{\ssM}{\ensuremath{{\scriptscriptstyle M}}}
\newcommand{\ssN}{\ensuremath{{\scriptscriptstyle N}}}
\newcommand{\ssO}{\ensuremath{{\scriptscriptstyle O}}}
\newcommand{\ssP}{\ensuremath{{\scriptscriptstyle P}}}
\newcommand{\ssQ}{\ensuremath{{\scriptscriptstyle Q}}}
\newcommand{\ssR}{\ensuremath{{\scriptscriptstyle R}}}
\newcommand{\ssS}{\ensuremath{{\scriptscriptstyle S}}}
\newcommand{\ssT}{\ensuremath{{\scriptscriptstyle T}}}
\newcommand{\ssU}{\ensuremath{{\scriptscriptstyle U}}}
\newcommand{\ssV}{\ensuremath{{\scriptscriptstyle V}}}
\newcommand{\ssW}{\ensuremath{{\scriptscriptstyle W}}}
\newcommand{\ssX}{\ensuremath{{\scriptscriptstyle X}}}
\newcommand{\ssY}{\ensuremath{{\scriptscriptstyle Y}}}
\newcommand{\ssZ}{\ensuremath{{\scriptscriptstyle Z}}}
  
%%% Local Variables:
%%% fill-column: 72
%%% TeX-PDF-mode: t
%%% TeX-debug-bad-boxes: t
%%% TeX-master: "slides"
%%% TeX-parse-self: t
%%% TeX-auto-save: t
%%% reftex-plug-into-AUCTeX: t
%%% End: